package com.xgkj.diyiketang.task;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.xgkj.diyiketang.ProtocolConst;
import com.xgkj.diyiketang.data.AdvertiseInfo;
import com.xgkj.diyiketang.http.CouponHttpRequest;
import com.xgkj.diyiketang.http.CouponHttpResponse;
import com.xgkj.diyiketang.http.engine.CouponHttpBaseTask;
import com.xgkj.diyiketang.http.engine.TaskResultCode;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrater on 2015/12/7.
 */
public class AdvertisementTask extends CouponHttpBaseTask {
    private String mType;
    private String mSize;

    public AdvertisementTask(String type, String size) {
        super(TaskType.ADVERTISEMENT_TASK);
        mType = type;
        mSize = size;
    }

    @Override
    protected void processResponseData(CouponHttpResponse response) {
        JSONObject respJson = response.getBody();
        List<AdvertiseInfo> list = new ArrayList<AdvertiseInfo>();
        if (respJson != null) {
            list = JSON.parseArray(
                    respJson.getString(ProtocolConst.LIST_TAG),
                    AdvertiseInfo.class);

        }
        notifyTaskCompleted(TaskResultCode.SUCCESS, list);
    }

    @Override
    protected void prepareRequest() {
        if (mPhase == TASK_PHASE_INIT) {
            CouponHttpRequest request = new CouponHttpRequest(
                    RequestType.ADVERTISEMENT_REQUEST);
            JSONObject json = new JSONObject();
            json.put("bannerType", mType);
//            if (mSize != null) {
//                json.put("size", mSize);
//            }
            request.setData(json.toString());
            request.setApiNo(ApiNo.ADVERTISEMENT);
            addRequest(request);
        }
    }
}
